package com.uinnova.product.eam.service;

import com.binary.framework.bean.annotation.Comment;
import com.binary.jdbc.Page;
import com.uinnova.product.eam.vo.*;

import java.util.Date;
import java.util.List;

@Comment("架构评审值班表配置")
public interface ArchReviewRotaConfService {

    /**
     * 值班表配置保存
     * @param req
     */
    void save(ArchReviewRotaConfSaveReq req);

    /**
     * 值班表配置校验
     * @param req
     */
    void checkPre(ArchReviewRotaConfSaveReq req);

    /**
     * 值班表列表
     */
    Page<ArchReviewRotaConfQueryRes> list(ArchReviewRotaConfQueryReq req);

    /**
     * 值班表负责人信息
     */
    Page<ArchReviewRotaDirectorInfo> rotaDirectorInfo(ArchReviewRotaDirectorInfoReq req);

    /**
     * 启用值班表配置任务
     */
    void startRotaConfJob();

    /**
     * 获取在用值班表指定日期的值班人列表
     * @param date
     * @return
     */
    List<String> getDirectorsOnDate(Date date);
}
